Nuprl Lemma : priority-select-property 0,22

T:Type, as:T List, fg:(T).
(priority-select(f;g;as) = inl(true +Unit  (i:||as||. f(as[i]) & (j:ig(as[j]))))
& (priority-select(f;g;as) = inl(false +Unit
& (
& ((i:||as||. g(as[i]) & (j:(i+1). f(as[j]))))
& (priority-select(f;g;as) = inr( +Unit  (i:||as||. f(as[i]) & g(as[i]))) 
latex


Definitionsb, t  T, , Unit, {i..j}, A, x:AB(x), P & Q, x:AB(x), P  Q, priority-select(f;g;as), , tl(l), i<j, b, ij, if b t else f fi, Y, nth_tl(n;as), hd(l), l[i], AB, i  j < k, false, Prop, P  Q, False, true, ||as||, P  Q, P  Q, Dec(P), xt(x), isl(x), list_accum(x,a.f(x;a);y;l), ij, True, {T}, SQType(T), x,yt(x;y), T
Lemmassquash wf, true wf, select cons tl, le wf, iff functionality wrt iff, list accum wf, isl wf, ifthenelse wf, decidable int equal, length cons, bool sq, assert elim, int seg properties, length wf1, non neg length, eqtt to assert, iff transitivity, eqff to assert, assert of bnot, bnot wf, decidable ex int seg, decidable cand, decidable all int seg, decidable not, decidable assert, int seg wf, not wf, assert wf, select wf, length wf2, btrue wf, it wf, bfalse wf, unit wf, bool wf

origin